package com.ledi.guns.modular.ledipay.controller.anotation;

import java.util.List;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

import org.springframework.stereotype.Component;

/**
 * 自定义注解ListNotHasNull 的实现类
 * 用于判断List集合中是否含有null元素
 */

@Component
public class ListNotHasNullValidatorImpl implements ConstraintValidator<ListNotHasNull, List> {

	private int value;

	@Override
	public void initialize(ListNotHasNull constraintAnnotation) {

		// 传入value 值，可以在校验中使用
		value = constraintAnnotation.value();
	}

	@Override
	public boolean isValid(List list, ConstraintValidatorContext constraintValidatorContext) {

		for (Object object : list) {
			if (object == null) {
				// 如果List集合中含有Null元素，校验失败
				return false;
			}
		}
		return true;
	}

}
